The example below configures the component to use uncolorized console output, and then triggers some user interaction.
// Shows how to configure the OPC UA Console Interaction plug-in by turning off the output colorization. // // Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . // OPC client and subscriber examples in C# on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-CSharp . // Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own // a commercial license in order to use Online Forums, and we reply to every post. using System; using System.Diagnostics; using OpcLabs.BaseLib.Console.Interaction; using OpcLabs.EasyOpc.UA; using OpcLabs.EasyOpc.UA.Engine; using OpcLabs.EasyOpc.UA.OperationModel; namespace UADocExamples.Interaction { partial class ConsoleInteraction { public static void ColorizeOutput() { // Configure the shared plug-in. // Find the parameters object of the plug-in. ConsoleInteractionParameters consoleInteractionPluginParameters = EasyUAClient.SharedParameters.PluginConfigurations.Find<ConsoleInteractionParameters>(); Debug.Assert(consoleInteractionPluginParameters != null); // Change the parameter. consoleInteractionPluginParameters.ColorizeOutput = false; // Do not implicitly trust any endpoint URLs. We want the user be asked explicitly. EasyUAClient.SharedParameters.EngineParameters.CertificateAcceptancePolicy.TrustedEndpointUrlStrings.Clear(); // Define which server we will work with. UAEndpointDescriptor endpointDescriptor = "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer"; // Require secure connection, in order to enforce the certificate check. endpointDescriptor.EndpointSelectionPolicy = new UAEndpointSelectionPolicy(UAMessageSecurityModes.Secure); // Instantiate the client object. var client = new EasyUAClient(); UAAttributeData attributeData; try { // Obtain attribute data. // The component automatically triggers the necessary user interaction during the first operation. attributeData = client.Read(endpointDescriptor, "nsu=http://test.org/UA/Data/ ;i=10853"); } catch (UAException uaException) { Console.WriteLine("*** Failure: {0}", uaException.GetBaseException().Message); return; } // Display results. Console.WriteLine("Value: {0}", attributeData.Value); Console.WriteLine("ServerTimestamp: {0}", attributeData.ServerTimestamp); Console.WriteLine("SourceTimestamp: {0}", attributeData.SourceTimestamp); Console.WriteLine("StatusCode: {0}", attributeData.StatusCode); } } }
' Shows how to configure the OPC UA Console Interaction plug-in by turning off the output colorization. ' ' Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . ' OPC client and subscriber examples in VB.NET on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-VBNET . ' Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own ' a commercial license in order to use Online Forums, and we reply to every post. Imports OpcLabs.BaseLib.Console.Interaction Imports OpcLabs.EasyOpc.UA Imports OpcLabs.EasyOpc.UA.Engine Imports OpcLabs.EasyOpc.UA.OperationModel Namespace Interaction Friend Class ConsoleInteraction Public Shared Sub ColorizeOutput() ' Configure the shared plug-in. ' Find the parameters object of the plug-in. Dim consoleInteractionPluginParameters = EasyUAClient.SharedParameters.PluginConfigurations.Find(Of ConsoleInteractionParameters)() Debug.Assert(consoleInteractionPluginParameters IsNot Nothing) ' Change the parameter. consoleInteractionPluginParameters.ColorizeOutput = False ' Do not implicitly trust any endpoint URLs. We want the user be asked explicitly. EasyUAClient.SharedParameters.EngineParameters.CertificateAcceptancePolicy.TrustedEndpointUrlStrings.Clear() ' Define which server we will work with. Dim endpointDescriptor As UAEndpointDescriptor = "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer" ' Require secure connection, in order to enforce the certificate check. endpointDescriptor.EndpointSelectionPolicy = New UAEndpointSelectionPolicy(UAMessageSecurityModes.Secure) ' Instantiate the client object. Dim client = New EasyUAClient() Dim attributeData As UAAttributeData Try ' Obtain attribute data. ' The component automatically triggers the necessary user interaction during the first operation. attributeData = client.Read(endpointDescriptor, "nsu=http://test.org/UA/Data/ ;i=10853") Catch uaException As UAException Console.WriteLine("*** Failure: {0}", uaException.GetBaseException.Message) Exit Sub End Try ' Display results. Console.WriteLine("Value: {0}", attributeData.Value) Console.WriteLine("ServerTimestamp: {0}", attributeData.ServerTimestamp) Console.WriteLine("SourceTimestamp: {0}", attributeData.SourceTimestamp) Console.WriteLine("StatusCode: {0}", attributeData.StatusCode) End Sub End Class End Namespace
// Shows how to configure the OPC UA Console Interaction plug-in by turning off the output colorization. // // Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . // OPC client and subscriber examples in Object Pascal (Delphi) on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-OP . // Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own // a commercial license in order to use Online Forums, and we reply to every post. class procedure ConsoleInteraction.ColorizeOutput; var Arguments: OleVariant; AttributeData: _UAAttributeData; Client: OpcLabs_EasyOpcUA_TLB._EasyUAClient; ClientManagement: TEasyUAClientManagement; ConsoleInteractionParameters: _ConsoleInteractionParameters; EndpointSelectionPolicy: _UAEndpointSelectionPolicy; ReadArguments: _UAReadArguments; Result: _UAAttributeDataResult; Results: OleVariant; begin // Configure the shared plug-in. // The configuration object allows access to static behavior. ClientManagement := TEasyUAClientManagement.Create(nil); ClientManagement.Connect; // Find the parameters object of the plug-in. ConsoleInteractionParameters := IUnknown(ClientManagement.SharedParameters.PluginConfigurations.Find('OpcLabs.BaseLib.Console.Interaction.ConsoleInteractionParameters')) as _ConsoleInteractionParameters; // Change the parameter. ConsoleInteractionParameters.ColorizeOutput := False; // Do not implicitly trust any endpoint URLs. We want the user be asked explicitly. ClientManagement.SharedParameters.EngineParameters.CertificateAcceptancePolicy.TrustedEndpointUrlStrings.Clear(); // Define which server we will work with. ReadArguments := CoUAReadArguments.Create; ReadArguments.EndpointDescriptor.UrlString := 'opc.tcp://opcua.demo-this.com:51210/UA/SampleServer'; // Require secure connection, in order to enforce the certificate check. EndpointSelectionPolicy := CoUAEndpointSelectionPolicy.Create; EndpointSelectionPolicy.AllowedMessageSecurityModes := UAMessageSecurityModes_Secure; ReadArguments.EndpointDescriptor.EndpointSelectionPolicy := EndpointSelectionPolicy; ReadArguments.NodeDescriptor.NodeId.ExpandedText := 'nsu=http://test.org/UA/Data/ ;i=10853'; Arguments := VarArrayCreate([0, 0], varVariant); Arguments[0] := ReadArguments; // Instantiate the client object. Client := CoEasyUAClient.Create; // Obtain attribute data. // The component automatically triggers the necessary user interaction during the first operation. TVarData(Results).VType := varArray or varVariant; TVarData(Results).VArray := PVarArray(Client.ReadMultiple(Arguments)); Result := IInterface(Results[0]) as _UAAttributeDataResult; if Result.Succeeded then begin AttributeData := Result.AttributeData; // Display results. WriteLn('Value: ', AttributeData.Value); WriteLn('ServerTimestamp: ', DateTimeToStr(AttributeData.ServerTimestamp)); WriteLn('SourceTimestamp: ', DateTimeToStr(AttributeData.SourceTimestamp)); WriteLn('StatusCode: ', AttributeData.StatusCode.ToString); end else WriteLn('*** Failure: ', Result.ErrorMessageBrief); VarClear(Results); VarClear(Arguments); FreeAndNil(ClientManagement); end;
# Shows how to configure the OPC UA Console Interaction plug-in by turning off the output colorization. # # Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . # OPC client and subscriber examples in Python on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-Python . # Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own # a commercial license in order to use Online Forums, and we reply to every post. # The QuickOPC package is needed. Install it using "pip install opclabs_quickopc". import opclabs_quickopc # Import .NET namespaces. from OpcLabs.BaseLib.Console.Interaction import * from OpcLabs.EasyOpc.UA import * from OpcLabs.EasyOpc.UA.Engine import * from OpcLabs.EasyOpc.UA.OperationModel import * # Configure the shared plug-in. # Find the parameters object of the plug-in. consoleInteractionPluginParameters = EasyUAClient.SharedParameters.PluginConfigurations.Find[ConsoleInteractionParameters]() assert consoleInteractionPluginParameters is not None # Change the parameter. consoleInteractionPluginParameters.ColorizeOutput = False # Do not implicitly trust any endpoint URLs. We want the user be asked explicitly. EasyUAClient.SharedParameters.EngineParameters.CertificateAcceptancePolicy.TrustedEndpointUrlStrings.Clear() # Define which server we will work with. endpointDescriptor = UAEndpointDescriptor('opc.tcp://opcua.demo-this.com:51210/UA/SampleServer') # Require secure connection, in order to enforce the certificate check. endpointDescriptor.EndpointSelectionPolicy = UAEndpointSelectionPolicy(UAMessageSecurityModes.Secure) # Instantiate the client object. client = EasyUAClient() try: # Obtain attribute data. # The component automatically triggers the necessary user interaction during the first operation. attributeData = IEasyUAClientExtension.Read(client, endpointDescriptor, UANodeDescriptor('nsu=http://test.org/UA/Data/ ;i=10853')) except UAException as uaException: print('*** Failure: ' + uaException.GetBaseException().Message) exit() # Display results. print('Value: ', attributeData.Value) print('ServerTimestamp: ', attributeData.ServerTimestamp) print('SourceTimestamp: ', attributeData.SourceTimestamp) print('StatusCode: ', attributeData.StatusCode) print() print('Finished.')
The program output may look like this:
Copyright © 2004-2024 CODE Consulting and Development, s.r.o., Plzen. All rights reserved. Web page: www.opclabs.com
Documentation Home, Send Feedback. Resources: Knowledge Base, Product Downloads. Technical support: Online Forums, FAQ.Missing some example? Ask us for it on our Online Forums! You do not have to own a commercial license in order to use Online Forums, and we reply to every post.